
OBJS = access32.o main.o memory.o paging.o v_cpu.o bcd.o lazy_flags.o
CXX = g++
CXXFLAGS = -c -DDEBUG -ggdb

avm: $(OBJS)
	$(CXX) -o $@ $^

access32.o: access32.cpp v_cpu.h type.h crregs.h
	$(CXX) $(CXXFLAGS) -o $@ $<

paging.o: paging.cpp v_cpu.h type.h crregs.h
	$(CXX) $(CXXFLAGS) -o $@ $<

v_cpu.o: v_cpu.cpp v_cpu.h type.h fetch_decode.h
	$(CXX) $(CXXFLAGS) -o $@ $<

memory.o: memory.cpp memory_avm.h type.h v_cpu.h crregs.h
	$(CXX) $(CXXFLAGS) -o $@ $<

bcd.o: bcd.cpp v_cpu.h type.h crregs.h lazy_flags.h
	$(CXX) $(CXXFLAGS) -o $@ $<

lazy_flags.o: lazy_flags.cpp lazy_flags.h type.h
	$(CXX) $(CXXFLAGS) -o $@ $<

main.o: main.cpp v_cpu.h type.h crregs.h memory_avm.h
	$(CXX) $(CXXFLAGS) -o $@ $<


clean:
	rm $(OBJS)
	rm avm
